perm filename R11B.F4[P11,LCS] blob
sn#341671 filedate 1978-03-11 generic text, type C, neo UTF8
COMMENT ā VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 C* SCANR,BGSORT,FMT,RANR,SQYY,COLTTY,READER,CLEAN,ACCEL,POINTR 7/74
C00023 ENDMK
Cā;
C* SCANR,BGSORT,FMT,RANR,SQYY,COLTTY,READER,CLEAN,ACCEL,POINTR 7/74
FUNCTION RMOVX(W,Y,Z)
IF(W.EQ.0)W=.01
IF(Y.EQ.0)Y=.01
RMOVX=Y*((W/Y)**Z)
END
SUBROUTINE BGSORT(BW)
C THIS SORTS BG TIMES SO NONE ARE DUPLICATED IN BNW ARRAY.
C ALLOWS 100 BG TIMES.
COMMON /Q/ BNW(100),NWZ
DO 5308 K=1,NWZ
X=BNW(K)-.0001
Y=X+.0002
C ROUND-OFF NONSENSE
IF(BW.LE.X)GO TO 5308
IF(BW.LT.Y)RETURN
5308 CONTINUE
NWZ=NWZ+1
BNW(NWZ)=BW
RETURN
END
SUBROUTINE SQYY(YY,X,Y,Z)
YY=2.*Z/(X+Y)
IF(YY.NE.0)YY=2.*(Z-X*YY)/YY**2
RETURN
END
SUBROUTINE QUAD
C DUMMY -- FOR NOW. 7/74
END
SUBROUTINE ACCEL
COMMON/VV/LIMIT,V(1)/A/ROFF(27),NP(27),PCH(27,32),
1 RDEV(27),IPT(27,31),XT(27),OTH(20,16),SCAL(101)
1 ,P1(27),JFM(4),COPY(30),IFM(80)
1 ,FINM(6),TINST(5),ENFI(5),TEDIT(4),INVIS(27)
COMMON P(30),J,L,CNT(27),BT,PL(48),MK,DF,DUR(27)
1/E/IQ(27),KL,X,ZPAR,KA,LK,NNUM,JJ,JA,ISUB,NFLG,IXX,ISEMI,IQT
1 ,INP(144),VX(70),ISCA(12),IDAT(11),IAMP,K,KN,M,ML,CODE,IBLA
COMMON/B/MOT,PR,T5,NINS,I,TP,RA,KZY,NWX,INONLY,MX,
1 Y,Z,ISLAC,MZ,N,IDALL,JC,JG,RB,IJ,IX,BW,KB,NL,RC,W,
1 ZZ,CHN,YY
1 /C/LPAR,IPRN,QX,RETRO,INVRT,ICON,LCNT,
1 PARENS,JZ,BY,MLX,IZ,ALL,JD,LEND,QTS,ITMP,
1 LP,ILIT,NLIT,KTMP,IC,NONO,RD,IA
C /C/=26
IF(T5.EQ.1)GO TO 4020
XA=RA
7020 RA=V(IA+K)
IF(RA.EQ.-10000.)RETURN
4020 RD=1
IF(RA.LT.0)RD=-1.
RA=RA*RD
IF(KA.EQ.0)RA=RA-RC
W=RA
RB=W
IF(W.LE.Z-.0001)GO TO 2020
C .0001 FOR ROUND-OFF ERRORS!!!!!!!
IF(Z.NE.0)GO TO 3020
RA=RA/Y
RB=-1.
RC=0
GO TO 8020
3020 W=Z
RC=W+RC
GO TO 24
2020 RC=0
24 IF(X.NE.Y)GO TO 424
RA=W/X
GO TO 8020
C DUR OF TMP + BG TIME OF TMP - NOTE VALUE -
C BG TIME OF NOTE. CHN=TBG.
424 RAX=XT(J)
RA=(-2.*RAX+(4.*RAX**2+8.*YY*W)**.5)/(2.*YY)
XT(J)=RAX+YY*RA
8020 IF(KA.EQ.0)RA=RA+XA
KA=1
IF(T5.NE.1)GO TO 1012
IF(RC.NE.0)GO TO 2011
RETURN
C T5=1 IN 'RUNIT'
1012 V(IA+K)=RA*RD
IF(K.EQ.IZ)RETURN
1011 IF(T5.EQ.1)GO TO 2011
K=K+1
IF(ZZ.NE.0)Z=Z-W
IF(Z.GT.0)GO TO 7020
IF(RB.EQ.-1.)GO TO 7020
IC=IC+1
IF(RB.EQ.W)RETURN
KA=0
K=K-1
RETURN
2011 XA=RA
IF(K.GT.1)GO TO 9020
K=I-6
ZPAR=-9900.-CHN-ZZ
DO 3011 KL=8,I
IF(V(K).NE.ZPAR)GO TO 3011
IF(V(K+1).EQ.990000.)GO TO 9020
3011 K=K-1
9020 W=ZZ
IF(V(K+3))K=K+3
C ABOVE IS FOR TYPED IN TEMPO CHANGES
KA=K+3
ZZ=V(KA)
C DUR OF NEXT TEMPI
X=V(KA+1)
Y=V(KA+2)
213 KA=0
Z=ZZ
CALL SQYY(YY,X,Y,Z)
CHN=CHN+W
XT(J)=X
IF(KA.EQ.1)Z=0
RA=PR
KA=0
K=K+3
GO TO 4020
END
SUBROUTINE POINTR(INUM,IPAR,ISTRT,KODE)
COMMON/VV/LIMIT, V(2000)
C TO FIND POINTERS TO LISTS, ETC. IN V ARRAY WHEN USING SUBR.
C KODES: -22=RHY -33=NOTES -44=NUMS -46=RLIST -36=RNOTES
C -11=SUBN -12=SUBR -55=MOVE NUMS -56=MOVE NOTES
C -66=DUPL -88=LIT -57=MOVE RANGE NUMS -58=MOVE RNG NOTES
DO 1 K=1,2000
N=V(K)
IF(N.LT.10000)GO TO 1
IF(N/10000.NE.INUM)GO TO 1
IF(MOD(N,10000).NE.IPAR)GO TO 1
ISTRT=K+4
KODE=V(K+2)
ICNT=V(K+3)
IF(IABS(KODE).LT.11)ISTRT=ISTRT-1
RETURN
C FINDS FIRST OCCURRENCE OF PARAM AND INST ONLY.
1 CONTINUE
END